package com.cn.lp.export.plugin;

import com.cn.lp.common.utils.JSONAide;
import com.cn.lp.export.plugin.common.CommonExportTask;
import com.cn.lp.export.plugin.common.CommonMojo;
import com.cn.lp.export.plugin.common.Process;
import com.cn.lp.export.plugin.process.EnumCombinationExportAll;
import com.cn.lp.export.plugin.process.EnumExportAll;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;

import java.util.List;

@Mojo(name = "enumExportAll")
public class EnumExport extends CommonMojo<CommonExportTask> {

    @Parameter
    private List<CommonExportTask> taskList;

    @Override
    protected List<CommonExportTask> getTaskList() {
        return taskList;
    }

    @Override
    protected Process getProcess(CommonExportTask commonExportTask) {
        getLog().info(JSONAide.toJson(commonExportTask));
        // 判断是否聚合输出
        if(commonExportTask.isCombination()) {
            return new EnumCombinationExportAll(commonExportTask);
        } else {
            return new EnumExportAll(commonExportTask);
        }
    }

}
